package com.smedi.ismedi.progress.core.port.adapter.service;


import com.smedi.ismedi.inmail.api.dto.response.TaskRecordResponse;
import com.smedi.ismedi.progress.core.application.command.MessagesSendPostCommand;
import com.smedi.ismedi.progress.core.application.command.QueryListTaskRecordCommand;
import com.smedi.ismedi.progress.core.application.command.TaskRecordCreateCommand;
import com.smedi.ismedi.progress.core.application.command.TaskRecordEditCommand;

import java.util.List;

/**
 * 发送通知服务接口
 *
 * @author xienannan
 * @date 2021/08/28
 */
public interface TaskRemoteService {
    /**
     * 新建 待办 命令
     *
     * @param taskRecordCreateCommand 待办 新建 命令
     */
    void createTask(TaskRecordCreateCommand taskRecordCreateCommand);

    /**
     * 编辑 待办 命令
     *
     * @param taskRecordEditCommand 待办 编辑 命令
     */
    void editTask(TaskRecordEditCommand taskRecordEditCommand);

    /**
     * 推送消息
     * @param messagesSendPostCommand
     */
    void postSendMessage(MessagesSendPostCommand messagesSendPostCommand);

    /**
     * 查询 任务列表
     * @return
     */
    List<TaskRecordResponse> queryListTaskRecord(QueryListTaskRecordCommand queryListTaskRecordCommand);

    /**
     * 撤销任务
     * @param taskRecordEditCommand
     */
    void cancelTask(TaskRecordEditCommand taskRecordEditCommand);

    /**
     * 删除任务
     * @param ids
     */
    void deleteTask(Long id,String taskType);
}
